$(function () {
    //匿名函数
    $("#register").click(function () {
        //打印 2种
        // alert("11");
        // console.log("22");
        // if (confirm("你确定要删除当前数据吗?")) {
        //     console.log("true");
        // } else {
        //     console.log("false");
        // }

        // var name = "varname";
        // let age = "19";
        // const aa = "fdas";
        // for (let i=0;i<1;i++) {
        //     var namea = "varname";
        //     let agea = "19";
        //     const aaa = "fdas";
        // }
        // console.log(aa)
        // let username = $("#username").val();//取得当前表单的值
        // document.getElementById("#username")
        // console.log(username);
        //    以后前后端相互传值全部用对象的形式,所以我们在这里需要封装对象

        // obj.username = username;
        // console.log(obj)
        save();
    });
    $("#username").keyup(function () {

        judgeUsername();
        //引入正在表达式
        // String bb="fasdfsa\nadsgasdf\nfasda";
        // UserServlet user=new UserServlet(bb);
        // let username = $("#username").val();
        // let eg = /\w+/;
        // let aa = new RegExp(reg);
        // console.log($("#username").parents().next().html());
        // let tips = $("#username").parent().next();//这是提示对象
        // if (reg.test(username)) {
        //     tips.html("你输入的用户名格式正确 ");
        //     // $("#usernameTips").css("background-color", "green");
        //     // $("#usernameTips").css("color", "blue");
        //     tips.removeClass("error");
        //     tips.addClass("success");
        //     // console.log("你输入的格式正确 ")
        // } else {
        //     // console.log("你输入的格式不对 ")
        //     tips.html("你输入的用户名格式不对 ");
        //     // $("#usernameTips").css("background-color", "gray");
        //     // $("#usernameTips").css("color", "red");
        //     tips.removeClass("success");
        //     tips.addClass("error");
        // }
        // if (username.length >= 6 && username.length <= 16) {
        //     console.log("aaa ")
        // } else {
        //     console.log("你输入的长度不对 ")
        // }
    });
    $("#password").keyup(function () {
        judegePassword();
        // let password = $("#password").val();
        // let tips = $("#password").parent().next();//这是提示对象
        // if (reg.test(password)) {
        //     tips.html("你输入的密码格式正确 ");
        //     tips.removeClass("error");
        //     tips.addClass("success");
        // } else {
        //     tips.html("你输入的密码格式不对 ");
        //     tips.removeClass("success");
        //     tips.addClass("error");
        // }
    })
});
// let aa;
// let bb;
function judgeUsername() {
    let reg = /^[a-zA-Z]\w{5,15}$/gi;//
    return regFunction(reg, "username", "你输入的用户名格式正确", "你输入的用户名格式正确");
}

function judegePassword() {
    let reg = /^[a-zA-Z]\w{5,15}$/gi;//
    return regFunction(reg, "password", "你输入的密码格式正确", "你输入的密码格式不对");
}

function regFunction(reg, id, success, error) {
    let password = $("#" + id).val();
    let tips = $("#" + id).parent().next();//这是提示对象
    if (reg.test(password)) {
        tips.html(success);
        tips.removeClass("error");
        tips.addClass("success");
        return true;
    } else {
        tips.html(error);
        tips.removeClass("success");
        tips.addClass("error");
        return false;
    }
}

function save() {
    let obj = {
        username: $("#username").val(),
        password: $("#password").val(),
        sex: $("input[type=radio][name=sex]:checked").val(),
        phone: $("#phone").val(),
        birthday: $("#birthday").val(),
        hobby: getHobby().toLocaleString()
    };
    //再次判断用户是否输入正确
    let isTrue = judegePassword() && judgeUsername();
    if (!isTrue) {
        return;
    }
    //在将数据传递到后台之前，需要判断用户是否输入的格式是否正确
    $.ajax({
        url: '/register',//对应的是servlet里面的注解地址
        data: obj,//从前台传递到后台的数据
        type: 'post',//对应的是servlet里面的方法
        dataType: 'json',//统一用json对象传递，从后台传递到前端的数据类型
        success: function (data) {//data是后台传递到前端的数据,jsonObject
            console.log(data, "--");
            if (data.result == 'success') {
                alert("恭喜你注册成功，即将进入跳转到登录页面");
                window.open("/login.html");
                return;
            }
            if (data.result == 'isHave') {
                alert("用户名已经存在，请重新输入");
                return;
            }
            alert("注册失败，请重新输入");
        }, error: function (data) {
            console.log(data);
        }
    });
}

function getHobby() {
    let vals = [];//数组的赋值
    $("input[type=checkbox][name=hobby]:checked").each(function (index, item) {
        vals.push($(this).val());
    });
    return vals;
}

//js  数据类型
//字符串值，let name="fadssa";
// 数值，let age=12;
// 布尔值，let boo=true;
// 数组，let array=[[],{},true];
// String[] aa=new String[6];
// List<UserModel>
// 对象 let object={"name":"supeng",age:19,phone:"134123412",aihao:["足球"],paret:{}};
// 定义数据的方式？三种
//var 全局变量
//let  局部变量
//const  常量